package service

import (
	"fmt"
	"time"
)

// 输入上下班时间计算总时长
// 日期格式 2025/02/01 08:00
func CalculateWorkTime(startTime string, endTime string) float64 {
	// 时间格式化模版
	layout := "2006/01/02 15:04"
	start, err := time.Parse(layout, startTime)
	if err != nil {
		fmt.Println("开始时间解析失败")
		return 0
	}

	end, err := time.Parse(layout, endTime)
	if err != nil {
		fmt.Println("结束时间解析失败")
		return 0
	}

	// 获取结束和开始时间的间隔 单位:秒
	durationSeconds := end.Unix() - start.Unix()

	if  durationSeconds <= 0{
		// 输入的日期有误
		fmt.Println("结束日期必须在开始日期之后!")
		return 0
	}

	// 计算总时长
	var totalHours float64
	totalHours = float64(durationSeconds) / 3600
	
	return totalHours
}